In order for software products, such as operating systems and applications, to run in users' hardware machines, the users may need licenses for the software products. When the software products use a function provided in different software products, the users may need separate licenses for the different software products. For example, an application generated in MATLAB®, from The MathWorks, Inc. of Natick, Mass., which provides a technical computing environment, may call functions provided in Toolboxes to obtain a desired result of the application. In this case, the users may need separate licenses for particular Toolboxes although the users have a license for MATLAB®.
A distributed system may include a master machine and a cluster of remote machines to execute applications in parallel, which reduces the execution time of the applications. In the distributed system, the remote machines may need the same licenses for software products as the master for the distributed execution of the applications. For example, users may simulate an aircraft model with different parameters, such as 100 different altitudes and 50 different aircraft weights. This means that the aircraft model needs to be simulated 5,000 times with slightly different altitudes and aircraft weights. In order to simulate the aircraft model in the distributed system, 5,000 remote machines may need the same licenses for software products that are required for the simulation of the aircraft model. This is very cost-prohibitive for the users and is a wasteful use of the license. Therefore, it is desired to provide a new and efficient licensing scheme for the distributed system.